Some real-life situations involving reception of electromagnetic signals are relatively easy, for example where the transmitted signal is known to be at a particular exact frequency due to its being crystal controlled. As another example a signal that lasts a long time is relatively easy to receive and analyze. A signal that is repeated as often as necessary, for example in a system where packets are acknowledged and an unacknowledged packet is retransmitted, can be relatively easily received. As another example if a transmitter has the luxury of a high power level and the further luxury of an optimally sized antenna, this makes the signal easier to receive relative to ambient noise. Another thing that can make reception of an electromagnetic signal easier is if the designer is able to assume that the receiver has plenty of storage and high computational bandwidth as well as a generous power source.
Some real-life situations, however, do not offer any of these factors that would make reception of signals easy. Suppose, for example, that the transmitter is not crystal controlled and thus the designer of the receiver is not permitted to assume that the transmitted signal is at any particular exact frequency. Suppose that the transmitter is required to be physically small in form factor and thus that any antenna elements are severely constrained in size. Suppose the transmitter has a power source that does not last very long, so that any transmitted signal lasts only for a limited duration. Suppose further that the power source is not very strong, so that the transmitted signal is of only very limited strength. Suppose that the transmitter is not also a receiver, so that there is no prospect of defining a packet acknowledgment protocol that would permit selective retransmission of particular packets only when needed.
Suppose that the designer is not able to assume that the receiver has arbitrarily large data storage and is not able to assume that the receiver has arbitrarily high computational bandwidth. Suppose further that the receiver cannot be assumed to have an arbitrarily generous power source.
In such circumstances, few if any prior-art approaches turn out to provide suitable reception of the transmitted signals.
These circumstances do present themselves in real life, for example if a pill contains an IEM (ingestible event marker) and if the would-be receiver is a patch or other detector affixed to or nearby to the body of a subject that is to ingest the IEM. Such IEMs are not crystal controlled and so their transmitted signal cannot be assumed to be at any particular exact frequency. Such IEMs are powered by contact with gastric juices or other fluids within the body of the subject, and the contact-powered power source only lasts for a limited duration.
In recent times it has become commonplace to carry out reception of electromagnetic signals in what might be termed a “software receiver”. As shown in FIG. 2, an input signal 201 is received (for example by an antenna) and the signal is amplified at 202. The amplified signal is passed through a bandpass filter 204 which eliminates most or all noise at frequencies above and below the edges of the filter. The filtered signal is again amplified at 205 and is digitized in an analog-to-digital converter 206, yielding a digital sample stream 207 about which more will be said.
The signal-to-noise ratio is one of the strongest predictors of success in reception of any transmitted signal. One way to improve the signal-to-noise ratio is to sharpen the bandpass filter shown in FIG. 1 as filter 203. Narrowing the filter 203 (as compared with the filter 204 of FIG. 2) has the advantage that noise that is outside of the limits of filter 203 (but that was inside of the limits of filter 204) is noise that will not clutter up the analyzed signal in FIG. 1 even though such noise would have cluttered up the analyzed signal in FIG. 2.
But if the filter 203 is narrowed, there is the risk that the actual transmitted signal is outside of the limits of filter 203, in which case the receiver of FIG. 1 will miss the signal completely and will never pick it up.
In situations (such as the IEM situation mentioned above) where one does not have the luxury of being able to assume that the signal to be detected is at some particular exact frequency, the narrower filter 203 cannot be employed. Instead there is no choice but to leave filter 204 (FIG. 2) so very broad as to be able to pass the signal-to-be-detected at any of its possible frequencies. Any application of a narrower bandpass filter will have to be relegated to a controllable filter that is able to be adjusted upwards and downwards in frequency (“hunting”) until the actual frequency of the signal is determined. In a typical present-day software receiver, such a controllable filter is accomplished in software.
Only when the frequency (or frequencies, in the case of frequency-shift keying) has been discovered can further analysis be carried out for example to extract data from the signal. Such data might be phase-shift keyed, or amplitude keyed, or frequency-shift keyed, or communicated by some other more complex modulation.
The alert reader may be familiar with some of the ways that a present-day software receiver gets programmed to carry out digital filtering and further analysis. FIG. 3 shows one approach, namely storage in mass storage 208 of the entirety of the digital sample stream 207. Analysis at block 209 is carried out on the data stored at 208. It will be appreciated that depending on the sample rate of the ADC 206, and the resolution (number of bits per sample) of the ADC 206, even just a few minutes of storage of raw data can require an enormous storage device 208. But in situations (such as described above) where the receiver has limited memory resources, the storage of the entirety of the digital sample stream (raw data) is just not possible.
The alert reader may also be familiar with some of the design decisions made by designers of analysis 209. Such designers may, for example, assume that multiple analyses can be carried out one after the other (or may be run in parallel with suitable parallel hardware) on the entirety of the data in mass storage 208. One analysis tries to pick out one would-be signal frequency, a subsequent analysis tries another frequency, until (hopefully) the hunt succeeds and the actual transmitted frequency is determined. Such analyses require substantial computational bandwidth and corresponding amounts of power for the analytical hardware. But in situations (such as described above) where the receiver has limited computational bandwidth or limited power or both, it is just not possible to proceed in this way.
A further big challenge presents itself when the sought-after transmitted signal is ephemeral, that is, it does not persist for very long after it has started. Prior-art approaches that attempt to pick out the signal by means of a “hunting” process are approaches that run the risk of taking so long to succeed at the hunt that the signal may have come and gone. Some prior-art systems when faced with an ephemeral signal of frequency that is not known in advance will run a massively parallel set of relatively narrow-band receivers so that no matter which frequency turns out to be the transmitted frequency, one or another of the receivers will have picked up the entire transmission. Other prior-art systems when faced with an ephemeral signal of frequency that is not known in advance will run a single relatively broad-band receiver and will attempt to store absolutely everything that was received (digitally) and then to conduct post-receipt analysis over and over again until some digital filter happens to have picked out the signal from the noise. These approaches require lots of hardware, and lots of power. These approaches are expensive and cannot be reduced in size to desirably small form factors.
It would be very helpful if an approach could be devised which would permit picking out a signal even when one is not able to know in advance exactly what frequency the signal will be at, and to do this in a way that does not require prodigious data storage capacity, and that does not require prodigious computational bandwidth.